#!/usr/bin/python3
# -*- coding: UTF-8 -*-

'''
功能：CPBJfile.py主要完成文件的过滤与压缩功能
说明：用于从kd_auto_backup中读取当天的备份的文件，并单个压缩至至指定的文件夹下。
作者：Shinexu 2020-10-20
-------------------------------------------------------------------------
变更日期：
变更内容：

'''
import zipfile
import os,time

str_today = time.strftime("%Y_%m_%d")
dst_path = "/volume1/BTBJ/"
source_path="/volume1/Backup/kd_auto_backup"

if not os.path.exists(dst_path):
   os.mkdir(dst_path)

for root, dirs, files in os.walk(dst_path):
    for name in files:
        del_file=os.path.join(root, name)
        os.remove(del_file)                                              #删除已经存在的文件，不删除文件夹
        print("Del: " + del_file)                                        #打印删除的文件信息

for root, dirs, files in os.walk(source_path, topdown=False):
    for file_name in files:                                               #读取的是文件名子
        if str_today in file_name:                                        #查找符合条件的文件
            #print(file_name)
            zip_file_name=dst_path+file_name +".zip"
            zip_file=zipfile.ZipFile(zip_file_name,'w')                   #压缩后的文件及目录
            zipfile_path=os.path.join(root, file_name)                    #要压缩的源文件
            zip_file.write(zipfile_path,compress_type=zipfile.ZIP_DEFLATED)
            zip_file.close()
